package com.learner.ucenter.service;

import com.learner.pojo.user.Group;
import com.learner.pojo.user.vo.CreateGroupRequestVo;
import com.learner.pojo.user.vo.QuitGroupRequestVo;
import com.learner.pojo.user.vo.SearchGroupResponseVo;
import com.learner.pojo.user.vo.SearchGroupResultVo;
import com.learner.pojo.user.vo.SearchRequestVo;

import java.util.List;

/**
 * @author ice2020x
 * @Date: 2023/2/25
 * @Description: 聊天群组
 **/
public interface GroupService {
    /**
     * 获取群聊信息
     *
     * @param groupId id
     * @return 结果
     */
    Group getGroupInfo(String groupId);

    /**
     * 搜索群聊，分页加模糊查询
     *
     * @param requestVo 参数
     * @param userId    用户id
     * @return 结果
     */
    List<SearchGroupResponseVo> searchGroup(SearchRequestVo requestVo, String userId);

    /**
     * 添加群聊
     *
     * @param requestVo requestVo
     * @return 分组名称
     */
    String createGroup(CreateGroupRequestVo requestVo);

    /**
     * 获取群聊列表
     *
     * @return 群聊列表
     */
    List<SearchGroupResultVo> getAllGroup();

    /**
     * 退出群聊
     *
     * @param requestVo requestVo
     */
    void quitGroup(QuitGroupRequestVo requestVo);

    /**
     * 获取群聊列表
     *
     * @return 群聊列表
     */
    List<SearchGroupResultVo> getCreateGroupList(String userId);
}